package com.mkj.basic;


import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;

/**
 * @Author Arrebol
 * @Date 2024/8/6 16:13
 * @Project graphical programming
 * @Description：
 * 工具条组件演示
 */
public class JToolBarDemo {

    private final JFrame frame=new JFrame("测试工具条");
    JTextArea textArea=new JTextArea(6,35);
    //声明工具条
    JToolBar toolBar = new JToolBar("播放工具条",SwingConstants.HORIZONTAL);
    //创建三个Action对象
    //传递的参数最终在添加到工具条中时会被拿出来作为按钮的名称和图标
    private Action pre = new AbstractAction("上一曲",new ImageIcon("swing\\image\\component\\pre.png")) {
        @Override
        public void actionPerformed(ActionEvent e) {
            textArea.append("上一曲\n");
        }
    };
    private Action pause = new AbstractAction("上一曲",new ImageIcon("swing\\image\\component\\pause.png")) {
        @Override
        public void actionPerformed(ActionEvent e) {
            textArea.append("暂停播放\n");
        }
    };
    private Action next = new AbstractAction("上一曲",new ImageIcon("swing\\image\\component\\next.png")) {
        @Override
        public void actionPerformed(ActionEvent e) {
            textArea.append("下一曲\n");
        }
    };
    public void init(){
        //组装视图
        //通过Action对象创建JButton
        JButton preButton = new JButton(pre);
        JButton pauseButton = new JButton(pause);
        JButton nextButton = new JButton(next);
        //toolBar.add(pre);
        toolBar.add(preButton);
        toolBar.addSeparator();
        //toolBar.add(pause);
        toolBar.add(pauseButton);
        toolBar.addSeparator();
        //toolBar.add(next);
        toolBar.add(nextButton);
        //让工具条可以拖动
        toolBar.setFloatable(true);
        frame.add(toolBar, BorderLayout.NORTH);
        //文本框是默认不支持滚动条，可以将组件设置到JScrollPane中，这样组件就支持滚动条了
        JScrollPane scrollPane = new JScrollPane(textArea);
        frame.add(scrollPane);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        new JToolBarDemo().init();
    }
}
